Cytosim  PI
Cytoskeleton Simulator
PointInterpolated Class Reference

Detailed Description

The PointSet is designated by a pointer, and the two points by their indices. The interpolation coefficient is in [0,1], such that the intermediate position is between Point1 and Point2:

pos = (1-coef) * mPoint1 + coef * mPoint2
Todo:
: PointInterpolated could be extended to refer to a Mecable, by using virtual functions

Public Member Functions

 PointInterpolated ()
 reset member variables
 
 PointInterpolated (const PointSet *ps, unsigned int p1, unsigned int p2, real c)
 set to interpolate p1 and p2 on ps, with coefficient c
 
 PointInterpolated (FiberLocus const &, real abs)
 set to interpolate given fiber segment, with abscissa c
 
void clear ()
 Reset member variables (mPS=0)
 
void set (const unsigned int p1, const unsigned int p2, const real c)
 Set to interpolate p1 and p2 on ps, with coefficient c, on the same Mecable.
 
virtual ~PointInterpolated ()
 Destructor.
 
Matrix::index_type matIndex1 () const
 Index of point 1 in the matrix of dynamics (Meca)
 
Matrix::index_type matIndex2 () const
 Index of point 2 in the matrix of dynamics (Meca)
 
PointSet const * object () const
 Constant pointer to the PointSet.
 
PointExact exact1 () const
 PointExact corresponding to first point.
 
PointExact exact2 () const
 PointExact corresponding to second point.
 
Mecable const * mecable () const
 Constant pointer to the Mecable.
 
bool valid () const
 true if the pointer seems to be valid.
 
unsigned int point1 () const
 Index of point 1 in object.
 
unsigned int point2 () const
 Index of point 2 in object.
 
real coef1 () const
 First interpolation coefficient.
 
real coef2 () const
 Second interpolation coefficient.
 
void coef (real c)
 Set interpolation coefficient.
 
Vector pos () const
 Interpolated position in space.
 
Vector pos1 () const
 position of first point
 
Vector pos2 () const
 position of second point
 
Vector diff () const
 that is pos2() - pos1()
 
real len () const
 distance between point1 and point2
 
real lenSqr () const
 distance between point1 and point2
 
Vector dir () const
 (pos2() - pos1()).normalized()
 
bool inside () const
 true if the coefficient is in [0, 1]
 
bool overlapping (const PointExact &) const
 test if this has a common point with argument
 
bool overlapping (const PointInterpolated &) const
 test if this has a common point with argument
 

Friends

std::ostream & operator<< (std::ostream &, PointInterpolated const &)
 print for debug purpose